{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-routing-dashboard",
      "artifactVersion": "2021.25.8",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.ecm.platform.routing.api",
          "org.nuxeo.ecm.platform.routing.core",
          "org.nuxeo.ecm.platform.routing.dashboard",
          "org.nuxeo.ecm.platform.routing.default",
          "org.nuxeo.ecm.platform.routing.default.jsf",
          "org.nuxeo.ecm.platform.routing.dm",
          "org.nuxeo.ecm.platform.routing.web"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing",
        "id": "grp:org.nuxeo.ecm.platform.routing",
        "name": "org.nuxeo.ecm.platform.routing",
        "parentIds": [
          "grp:org.nuxeo.ecm.routing"
        ],
        "readmes": [],
        "version": "2021.25"
      },
      "bundleId": "org.nuxeo.ecm.platform.routing.dashboard",
      "components": [
        {
          "@type": "NXComponent",
          "documentation": "\n    Main workflow tab, and sample sub tab, disabled by default.\n    <p>\n      To enable them, add the following contribution:\n    </p>\n<code>\n    <require>org.nuxeo.ecm.platform.routing.dashboard.actions\n      </require>\n    <extension point=\"actions\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n        <action enabled=\"true\" id=\"workflow_dashboard\"/>\n        <action enabled=\"true\" id=\"routing_tasks\"/>\n    </extension>\n</code>\n",
          "documentationHtml": "<p>\nMain workflow tab, and sample sub tab, disabled by default.\n</p><p>\nTo enable them, add the following contribution:\n</p>\n<p></p><pre><code>    &lt;require&gt;org.nuxeo.ecm.platform.routing.dashboard.actions\n      &lt;/require&gt;\n    &lt;extension point&#61;&#34;actions&#34; target&#61;&#34;org.nuxeo.ecm.platform.actions.ActionService&#34;&gt;\n        &lt;action enabled&#61;&#34;true&#34; id&#61;&#34;workflow_dashboard&#34;/&gt;\n        &lt;action enabled&#61;&#34;true&#34; id&#61;&#34;routing_tasks&#34;/&gt;\n    &lt;/extension&gt;\n</code></pre><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--actions",
              "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard/org.nuxeo.ecm.platform.routing.dashboard.actions/Contributions/org.nuxeo.ecm.platform.routing.dashboard.actions--actions",
              "id": "org.nuxeo.ecm.platform.routing.dashboard.actions--actions",
              "registrationOrder": 40,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.25.8",
              "xml": "<extension point=\"actions\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <action enabled=\"false\" id=\"workflow_dashboard\" label=\"label.main.tab.workflow\" link=\"view_workflow\" order=\"30\" type=\"main_tab\">\n      <category>MAIN_TABS</category>\n    </action>\n\n    <action enabled=\"false\" id=\"routing_tasks\" label=\"action.view.workflow.tasks\" link=\"/incl/tabs/workflow_dashboard_tab.xhtml\" order=\"10\">\n      <category>WORKFLOW_DASHBOARD</category>\n    </action>\n\n    <!--since 5.7.3 -->\n    <action icon=\"/icons/workflow_definition.png\" id=\"WorkflowHome\" label=\"tab.admin.workflow\" link=\"/view_home_task.xhtml\" order=\"20\">\n      <properties>\n        <property name=\"alwaysDisplaySubTabs\">false</property>\n      </properties>\n      <category>USER_CENTER</category>\n      <filter-id>not_anonymous</filter-id>\n    </action>\n\n    <!--since 5.7.3 -->\n    <action id=\"UsersTasks\" label=\"title.dashboard.userTasks\" link=\"/incl/home/user_open_tasks.xhtml\" order=\"40\">\n      <category>WorkflowHome_sub_tab</category>\n      <filter-id>not_readonly</filter-id>\n    </action>\n\n    <action id=\"go_back_to_tasks_view\" label=\"command.back\" link=\"#{routingTaskActions.navigateToTasksView()}\" order=\"10\">\n      <category>TASK_ADDITIONAL_ACTIONS</category>\n    </action>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.LayoutStore--widgettypes",
              "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard/org.nuxeo.ecm.platform.routing.dashboard.actions/Contributions/org.nuxeo.ecm.platform.routing.dashboard.actions--widgettypes",
              "id": "org.nuxeo.ecm.platform.routing.dashboard.actions--widgettypes",
              "registrationOrder": 2,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.LayoutStore",
                "name": "org.nuxeo.ecm.platform.forms.layout.LayoutStore",
                "type": "service"
              },
              "version": "2021.25.8",
              "xml": "<extension point=\"widgettypes\" target=\"org.nuxeo.ecm.platform.forms.layout.LayoutStore\">\n\n    <widgetType name=\"workflow_rest_document_link\">\n      <categories>\n        <category>jsfAction</category>\n      </categories>\n      <configuration>\n        <sinceVersion>7.2</sinceVersion>\n        <title>Document workflow Rest Link</title>\n        <description>\n          Widget displaying a restful document link for an action\n          (typically a tab link). Useful for workflow tabs migration to tabs\n          widget, to apply compatibility changes on existing actions.\n        </description>\n        <categories>\n          <category>action</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"repositoryName\">#{currentServerLocation.name}</property>\n            <property name=\"discardSurroundingForm\">true</property>\n            <property name=\"disableMultiPartForm\">true</property>\n            <property name=\"supportAjax\">#{canUseAjaxTabs}</property>\n            <property name=\"view\">view_workflow</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"rest_document_link_action_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">label</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">icon</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">ajaxSupport</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">onclick</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">target</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">confirm</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">confirmMessage</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">confirmMessageArgs</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">rest_document_link_view</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /incl/action/rest_document_link_action_template.xhtml\n      </property>\n      <property name=\"dev_template\">\n        /widgets/actions/dev/action_widget_type_dev_template.xhtml\n      </property>\n    </widgetType>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--typeCompatibility",
              "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard/org.nuxeo.ecm.platform.routing.dashboard.actions/Contributions/org.nuxeo.ecm.platform.routing.dashboard.actions--typeCompatibility",
              "id": "org.nuxeo.ecm.platform.routing.dashboard.actions--typeCompatibility",
              "registrationOrder": 2,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.25.8",
              "xml": "<extension point=\"typeCompatibility\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <typeCompatibility type=\"workflow_rest_document_link\">\n      <category>WORKFLOW_DASHBOARD</category>\n    </typeCompatibility>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard/org.nuxeo.ecm.platform.routing.dashboard.actions",
          "name": "org.nuxeo.ecm.platform.routing.dashboard.actions",
          "requirements": [],
          "resolutionOrder": 728,
          "services": [],
          "startOrder": 433,
          "version": "2021.25.8",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.platform.routing.dashboard.actions\">\n\n  <documentation>\n    Main workflow tab, and sample sub tab, disabled by default.\n    <p>\n      To enable them, add the following contribution:\n    </p>\n    <code>\n      <require>org.nuxeo.ecm.platform.routing.dashboard.actions\n      </require>\n      <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n        point=\"actions\">\n        <action id=\"workflow_dashboard\" enabled=\"true\" />\n        <action id=\"routing_tasks\" enabled=\"true\" />\n      </extension>\n    </code>\n  </documentation>\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"actions\">\n\n    <action id=\"workflow_dashboard\" link=\"view_workflow\" label=\"label.main.tab.workflow\"\n      order=\"30\" enabled=\"false\" type=\"main_tab\">\n      <category>MAIN_TABS</category>\n    </action>\n\n    <action id=\"routing_tasks\" link=\"/incl/tabs/workflow_dashboard_tab.xhtml\"\n      label=\"action.view.workflow.tasks\" order=\"10\" enabled=\"false\">\n      <category>WORKFLOW_DASHBOARD</category>\n    </action>\n\n    <!--since 5.7.3 -->\n    <action id=\"WorkflowHome\" link=\"/view_home_task.xhtml\" label=\"tab.admin.workflow\"\n      order=\"20\" icon=\"/icons/workflow_definition.png\">\n      <properties>\n        <property name=\"alwaysDisplaySubTabs\">false</property>\n      </properties>\n      <category>USER_CENTER</category>\n      <filter-id>not_anonymous</filter-id>\n    </action>\n\n    <!--since 5.7.3 -->\n    <action id=\"UsersTasks\" label=\"title.dashboard.userTasks\" link=\"/incl/home/user_open_tasks.xhtml\"\n      order=\"40\">\n      <category>WorkflowHome_sub_tab</category>\n      <filter-id>not_readonly</filter-id>\n    </action>\n\n    <action id=\"go_back_to_tasks_view\" link=\"#{routingTaskActions.navigateToTasksView()}\"\n      order=\"10\" label=\"command.back\">\n      <category>TASK_ADDITIONAL_ACTIONS</category>\n    </action>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.LayoutStore\"\n    point=\"widgettypes\">\n\n    <widgetType name=\"workflow_rest_document_link\">\n      <categories>\n        <category>jsfAction</category>\n      </categories>\n      <configuration>\n        <sinceVersion>7.2</sinceVersion>\n        <title>Document workflow Rest Link</title>\n        <description>\n          Widget displaying a restful document link for an action\n          (typically a tab link). Useful for workflow tabs migration to tabs\n          widget, to apply compatibility changes on existing actions.\n        </description>\n        <categories>\n          <category>action</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"repositoryName\">#{currentServerLocation.name}</property>\n            <property name=\"discardSurroundingForm\">true</property>\n            <property name=\"disableMultiPartForm\">true</property>\n            <property name=\"supportAjax\">#{canUseAjaxTabs}</property>\n            <property name=\"view\">view_workflow</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"rest_document_link_action_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">label</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">icon</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">ajaxSupport</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">onclick</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">target</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">confirm</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">confirmMessage</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">confirmMessageArgs</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">rest_document_link_view</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /incl/action/rest_document_link_action_template.xhtml\n      </property>\n      <property name=\"dev_template\">\n        /widgets/actions/dev/action_widget_type_dev_template.xhtml\n      </property>\n    </widgetType>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"typeCompatibility\">\n\n    <typeCompatibility type=\"workflow_rest_document_link\">\n      <category>WORKFLOW_DASHBOARD</category>\n    </typeCompatibility>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/document-routing-dashboard-actions-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.ContentViewService--contentViews",
              "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard/org.nuxeo.ecm.platform.routing.dashboard.contentviews/Contributions/org.nuxeo.ecm.platform.routing.dashboard.contentviews--contentViews",
              "id": "org.nuxeo.ecm.platform.routing.dashboard.contentviews--contentViews",
              "registrationOrder": 10,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.ContentViewService",
                "name": "org.nuxeo.ecm.platform.ui.web.ContentViewService",
                "type": "service"
              },
              "version": "2021.25.8",
              "xml": "<extension point=\"contentViews\" target=\"org.nuxeo.ecm.platform.ui.web.ContentViewService\">\n\n    <contentView name=\"routing_tasks\">\n\n      <coreQueryPageProvider>\n        <property name=\"coreSession\">#{documentManager}</property>\n        <pattern>\n          SELECT * FROM Document WHERE ecm:mixinType IN\n          ('RoutingTask')\n          AND ecm:isVersion = 0 AND\n          ecm:isTrashed = 0 AND\n          ecm:currentLifeCycleState !=\n          'cancelled' AND\n          ecm:currentLifeCycleState != 'ended' AND ecm:isProxy = 0\n        </pattern>\n        <pageSize>20</pageSize>\n      </coreQueryPageProvider>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>false</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n      </refresh>\n      <cacheSize>0</cacheSize>\n\n      <resultLayouts>\n        <layout name=\"routing_task_listing\"/>\n      </resultLayouts>\n\n      <selectionList>CURRENT_SELECTION</selectionList>\n\n    </contentView>\n\n    <contentView name=\"user_open_tasks\">\n      <showTitle>false</showTitle>\n      <coreQueryPageProvider>\n        <property name=\"coreSession\">#{documentManager}</property>\n        <whereClause docType=\"user_open_tasks_cv\">\n          <predicate operator=\"LIKE\" parameter=\"nt:processId\">\n            <field name=\"task_processId\" schema=\"user_open_tasks_cv\"/>\n          </predicate>\n          <predicate operator=\"=\" parameter=\"nt:name\">\n            <field name=\"task_name\" schema=\"user_open_tasks_cv\"/>\n          </predicate>\n          <predicate operator=\"BETWEEN\" parameter=\"nt:dueDate\">\n            <field name=\"task_dueDate_min\" schema=\"user_open_tasks_cv\"/>\n            <field name=\"task_dueDate_max\" schema=\"user_open_tasks_cv\"/>\n          </predicate>\n          <fixedPart>\n            ecm:mixinType IN ('RoutingTask') AND\n            ecm:isVersion = 0 AND\n            ecm:currentLifeCycleState =\n            'opened' AND ecm:isProxy = 0\n          </fixedPart>\n        </whereClause>\n        <pageSize>10</pageSize>\n      </coreQueryPageProvider>\n      <showFilterForm>true</showFilterForm>\n      <showPageSizeSelector>false</showPageSizeSelector>\n      <useGlobalPageSize>false</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentCreated</event>\n        <event>workflowTaskCompleted</event>\n        <event>workflowNewProcessStarted</event>\n      </refresh>\n      <cacheSize>10</cacheSize>\n      <cacheKey>#{org.jboss.seam.core.manager.currentConversationId}\n      </cacheKey>\n      <searchLayout filterUnfolded=\"true\" name=\"routing_user_open_task_search_layout\"/>\n      <resultLayouts>\n        <layout iconPath=\"\" name=\"routing_user_open_task_listing\" showCSVExport=\"false\" showPDFExport=\"false\" title=\"\" translateTitle=\"\"/>\n      </resultLayouts>\n    </contentView>\n\n    <contentView name=\"task_target_documents\">\n      <title>label.document.routing.participatingDocuments</title>\n      <translateTitle>true</translateTitle>\n      <showTitle>true</showTitle>\n      <coreQueryPageProvider>\n        <property name=\"coreSession\">#{documentManager}</property>\n        <parameter>#{routingTaskActions.getCurrentTaskTargetDocumentsIds()}\n        </parameter>\n        <whereClause docType=\"Document\">\n          <fixedPart>\n            ecm:uuid IN (?) AND ecm:isVersion = 0 AND\n            ecm:isProxy = 0\n          </fixedPart>\n        </whereClause>\n        <pageSize>10</pageSize>\n      </coreQueryPageProvider>\n      <showFilterForm>false</showFilterForm>\n      <showPageSizeSelector>false</showPageSizeSelector>\n      <useGlobalPageSize>false</useGlobalPageSize>\n      <refresh>\n        <event>documentCreated</event>\n        <event>documentChanged</event>\n        <event>workflowTaskCompleted</event>\n      </refresh>\n      <cacheSize>10</cacheSize>\n      <cacheKey>#{org.jboss.seam.core.manager.currentConversationId}\n      </cacheKey>\n      <resultLayouts>\n        <layout iconPath=\"/icons/document_listing_icon.png\" name=\"task_related_documents_listing\" showCSVExport=\"false\" showPDFExport=\"false\" showSyndicationLinks=\"false\" title=\"document_listing\" translateTitle=\"true\"/>\n      </resultLayouts>\n    </contentView>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard/org.nuxeo.ecm.platform.routing.dashboard.contentviews",
          "name": "org.nuxeo.ecm.platform.routing.dashboard.contentviews",
          "requirements": [],
          "resolutionOrder": 729,
          "services": [],
          "startOrder": 434,
          "version": "2021.25.8",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.platform.routing.dashboard.contentviews\">\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.ContentViewService\"\n    point=\"contentViews\">\n\n    <contentView name=\"routing_tasks\">\n\n      <coreQueryPageProvider>\n        <property name=\"coreSession\">#{documentManager}</property>\n        <pattern>\n          SELECT * FROM Document WHERE ecm:mixinType IN\n          ('RoutingTask')\n          AND ecm:isVersion = 0 AND\n          ecm:isTrashed = 0 AND\n          ecm:currentLifeCycleState !=\n          'cancelled' AND\n          ecm:currentLifeCycleState != 'ended' AND ecm:isProxy = 0\n        </pattern>\n        <pageSize>20</pageSize>\n      </coreQueryPageProvider>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>false</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n      </refresh>\n      <cacheSize>0</cacheSize>\n\n      <resultLayouts>\n        <layout name=\"routing_task_listing\" />\n      </resultLayouts>\n\n      <selectionList>CURRENT_SELECTION</selectionList>\n\n    </contentView>\n\n    <contentView name=\"user_open_tasks\">\n      <showTitle>false</showTitle>\n      <coreQueryPageProvider>\n        <property name=\"coreSession\">#{documentManager}</property>\n        <whereClause docType=\"user_open_tasks_cv\">\n          <predicate parameter=\"nt:processId\" operator=\"LIKE\">\n            <field schema=\"user_open_tasks_cv\" name=\"task_processId\" />\n          </predicate>\n          <predicate parameter=\"nt:name\" operator=\"=\">\n            <field schema=\"user_open_tasks_cv\" name=\"task_name\" />\n          </predicate>\n          <predicate parameter=\"nt:dueDate\" operator=\"BETWEEN\">\n            <field schema=\"user_open_tasks_cv\" name=\"task_dueDate_min\" />\n            <field schema=\"user_open_tasks_cv\" name=\"task_dueDate_max\" />\n          </predicate>\n          <fixedPart>\n            ecm:mixinType IN ('RoutingTask') AND\n            ecm:isVersion = 0 AND\n            ecm:currentLifeCycleState =\n            'opened' AND ecm:isProxy = 0\n          </fixedPart>\n        </whereClause>\n        <pageSize>10</pageSize>\n      </coreQueryPageProvider>\n      <showFilterForm>true</showFilterForm>\n      <showPageSizeSelector>false</showPageSizeSelector>\n      <useGlobalPageSize>false</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentCreated</event>\n        <event>workflowTaskCompleted</event>\n        <event>workflowNewProcessStarted</event>\n      </refresh>\n      <cacheSize>10</cacheSize>\n      <cacheKey>#{org.jboss.seam.core.manager.currentConversationId}\n      </cacheKey>\n      <searchLayout name=\"routing_user_open_task_search_layout\"\n        filterUnfolded=\"true\" />\n      <resultLayouts>\n        <layout name=\"routing_user_open_task_listing\" title=\"\"\n          translateTitle=\"\" iconPath=\"\" showCSVExport=\"false\"\n          showPDFExport=\"false\" />\n      </resultLayouts>\n    </contentView>\n\n    <contentView name=\"task_target_documents\">\n      <title>label.document.routing.participatingDocuments</title>\n      <translateTitle>true</translateTitle>\n      <showTitle>true</showTitle>\n      <coreQueryPageProvider>\n        <property name=\"coreSession\">#{documentManager}</property>\n        <parameter>#{routingTaskActions.getCurrentTaskTargetDocumentsIds()}\n        </parameter>\n        <whereClause docType=\"Document\">\n          <fixedPart>\n            ecm:uuid IN (?) AND ecm:isVersion = 0 AND\n            ecm:isProxy = 0\n          </fixedPart>\n        </whereClause>\n        <pageSize>10</pageSize>\n      </coreQueryPageProvider>\n      <showFilterForm>false</showFilterForm>\n      <showPageSizeSelector>false</showPageSizeSelector>\n      <useGlobalPageSize>false</useGlobalPageSize>\n      <refresh>\n        <event>documentCreated</event>\n        <event>documentChanged</event>\n        <event>workflowTaskCompleted</event>\n      </refresh>\n      <cacheSize>10</cacheSize>\n      <cacheKey>#{org.jboss.seam.core.manager.currentConversationId}\n      </cacheKey>\n      <resultLayouts>\n        <layout name=\"task_related_documents_listing\" title=\"document_listing\"\n          translateTitle=\"true\" iconPath=\"/icons/document_listing_icon.png\"\n          showCSVExport=\"false\" showPDFExport=\"false\"\n          showSyndicationLinks=\"false\" />\n      </resultLayouts>\n    </contentView>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/document-routing-dashboard-contentviews-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.url.service.DocumentViewCodecService--codecs",
              "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard/org.nuxeo.ecm.platform.routing.dashboard.urlservice/Contributions/org.nuxeo.ecm.platform.routing.dashboard.urlservice--codecs",
              "id": "org.nuxeo.ecm.platform.routing.dashboard.urlservice--codecs",
              "registrationOrder": 8,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.url.service.DocumentViewCodecService",
                "name": "org.nuxeo.ecm.platform.url.service.DocumentViewCodecService",
                "type": "service"
              },
              "version": "2021.25.8",
              "xml": "<extension point=\"codecs\" target=\"org.nuxeo.ecm.platform.url.service.DocumentViewCodecService\">\n\n    <documentViewCodec class=\"org.nuxeo.ecm.platform.url.codec.DocumentPathCodec\" default=\"false\" enabled=\"true\" name=\"docpathworkflow\" prefix=\"nxworkflow\"/>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.rest.URLService--urlpatterns",
              "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard/org.nuxeo.ecm.platform.routing.dashboard.urlservice/Contributions/org.nuxeo.ecm.platform.routing.dashboard.urlservice--urlpatterns",
              "id": "org.nuxeo.ecm.platform.routing.dashboard.urlservice--urlpatterns",
              "registrationOrder": 5,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.rest.URLService",
                "name": "org.nuxeo.ecm.platform.ui.web.rest.URLService",
                "type": "service"
              },
              "version": "2021.25.8",
              "xml": "<extension point=\"urlpatterns\" target=\"org.nuxeo.ecm.platform.ui.web.rest.URLService\">\n\n    <urlPattern enabled=\"true\" name=\"workflow\">\n      <defaultURLPolicy>false</defaultURLPolicy>\n      <needBaseURL>true</needBaseURL>\n      <needRedirectFilter>true</needRedirectFilter>\n      <needFilterPreprocessing>true</needFilterPreprocessing>\n      <codecName>docpathworkflow</codecName>\n      <actionBinding>\n        #{restHelper.initContextFromRestRequest}\n      </actionBinding>\n      <documentViewBindingApplies>\n        #{mainTabsActions.isOnMainTab('workflow_dashboard')}\n      </documentViewBindingApplies>\n      <documentViewBinding>\n        #{restHelper.documentView}\n      </documentViewBinding>\n      <newDocumentViewBinding>\n        #{restHelper.getNewDocumentView(null)}\n      </newDocumentViewBinding>\n      <bindings>\n        <binding callGetter=\"false\" name=\"tabId\">\n          #{webActions.currentTabId}\n        </binding>\n        <binding callGetter=\"false\" name=\"subTabId\">\n          #{webActions.currentSubTabId}\n        </binding>\n        <binding name=\"tabIds\">#{webActions.currentTabIds}</binding>\n        <binding callGetter=\"false\" name=\"language\">\n          #{restHelper.localeString}\n        </binding>\n      </bindings>\n    </urlPattern>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService--startURL",
              "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard/org.nuxeo.ecm.platform.routing.dashboard.urlservice/Contributions/org.nuxeo.ecm.platform.routing.dashboard.urlservice--startURL",
              "id": "org.nuxeo.ecm.platform.routing.dashboard.urlservice--startURL",
              "registrationOrder": 8,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "name": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "type": "service"
              },
              "version": "2021.25.8",
              "xml": "<extension point=\"startURL\" target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\">\n\n    <startURLPattern>\n      <patterns>\n        <pattern>nxworkflow/</pattern>\n      </patterns>\n    </startURLPattern>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard/org.nuxeo.ecm.platform.routing.dashboard.urlservice",
          "name": "org.nuxeo.ecm.platform.routing.dashboard.urlservice",
          "requirements": [],
          "resolutionOrder": 730,
          "services": [],
          "startOrder": 436,
          "version": "2021.25.8",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.platform.routing.dashboard.urlservice\">\n\n  <extension target=\"org.nuxeo.ecm.platform.url.service.DocumentViewCodecService\"\n    point=\"codecs\">\n\n    <documentViewCodec name=\"docpathworkflow\" enabled=\"true\"\n      default=\"false\" prefix=\"nxworkflow\"\n      class=\"org.nuxeo.ecm.platform.url.codec.DocumentPathCodec\" />\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.rest.URLService\"\n    point=\"urlpatterns\">\n\n    <urlPattern name=\"workflow\" enabled=\"true\">\n      <defaultURLPolicy>false</defaultURLPolicy>\n      <needBaseURL>true</needBaseURL>\n      <needRedirectFilter>true</needRedirectFilter>\n      <needFilterPreprocessing>true</needFilterPreprocessing>\n      <codecName>docpathworkflow</codecName>\n      <actionBinding>\n        #{restHelper.initContextFromRestRequest}\n      </actionBinding>\n      <documentViewBindingApplies>\n        #{mainTabsActions.isOnMainTab('workflow_dashboard')}\n      </documentViewBindingApplies>\n      <documentViewBinding>\n        #{restHelper.documentView}\n      </documentViewBinding>\n      <newDocumentViewBinding>\n        #{restHelper.getNewDocumentView(null)}\n      </newDocumentViewBinding>\n      <bindings>\n        <binding name=\"tabId\" callGetter=\"false\">\n          #{webActions.currentTabId}\n        </binding>\n        <binding name=\"subTabId\" callGetter=\"false\">\n          #{webActions.currentSubTabId}\n        </binding>\n        <binding name=\"tabIds\">#{webActions.currentTabIds}</binding>\n        <binding name=\"language\" callGetter=\"false\">\n          #{restHelper.localeString}\n        </binding>\n      </bindings>\n    </urlPattern>\n\n  </extension>\n\n  <extension\n    target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\"\n    point=\"startURL\">\n\n    <startURLPattern>\n      <patterns>\n        <pattern>nxworkflow/</pattern>\n      </patterns>\n    </startURLPattern>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/document-routing-dashboard-urlservice-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--schema",
              "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard/org.nuxeo.ecm.platform.routing.dashboard.layouts/Contributions/org.nuxeo.ecm.platform.routing.dashboard.layouts--schema",
              "id": "org.nuxeo.ecm.platform.routing.dashboard.layouts--schema",
              "registrationOrder": 46,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "2021.25.8",
              "xml": "<extension point=\"schema\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n    <schema name=\"user_open_tasks_cv\" prefix=\"user_open_tasks_cv\" src=\"schemas/user_open_tasks_cv.xsd\"/>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--doctype",
              "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard/org.nuxeo.ecm.platform.routing.dashboard.layouts/Contributions/org.nuxeo.ecm.platform.routing.dashboard.layouts--doctype",
              "id": "org.nuxeo.ecm.platform.routing.dashboard.layouts--doctype",
              "registrationOrder": 45,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "2021.25.8",
              "xml": "<extension point=\"doctype\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n    <doctype extends=\"Document\" name=\"user_open_tasks_cv\">\n      <facet name=\"ContentViewDisplay\"/>\n      <schema name=\"user_open_tasks_cv\"/>\n    </doctype>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgettypes",
              "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard/org.nuxeo.ecm.platform.routing.dashboard.layouts/Contributions/org.nuxeo.ecm.platform.routing.dashboard.layouts--widgettypes",
              "id": "org.nuxeo.ecm.platform.routing.dashboard.layouts--widgettypes",
              "registrationOrder": 22,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.25.8",
              "xml": "<extension point=\"widgettypes\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <widgetType name=\"listing_process_task\">\n      <configuration>\n        <title>Listing process task link</title>\n        <documentation>\n          Two fields are required:\n          <ul>\n            <li>A field to map the task</li>\n            <li>A field to map the targetDocumentId on the task</li>\n          </ul>\n        </documentation>\n        <sinceVersion>5.7.3</sinceVersion>\n        <categories>\n          <category>routing</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_process_task_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_workflow_name_task\">\n      <configuration>\n        <title>Listing the name of the workflow that created the task\n        </title>\n        <documentation>\n          A field is required:\n          <ul>\n            <li>A field to map the processId on the task</li>\n          </ul>\n        </documentation>\n        <sinceVersion>5.7.3</sinceVersion>\n        <categories>\n          <category>routing</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_workflow_name_task_widget_template.xhtml\n      </property>\n    </widgetType>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgets",
              "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard/org.nuxeo.ecm.platform.routing.dashboard.layouts/Contributions/org.nuxeo.ecm.platform.routing.dashboard.layouts--widgets",
              "id": "org.nuxeo.ecm.platform.routing.dashboard.layouts--widgets",
              "registrationOrder": 26,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.25.8",
              "xml": "<extension point=\"widgets\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <!-- Listing widgets -->\n    <widget name=\"routing_task_name\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.workflow.task.name</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.nt.name</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"localize\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"routing_task_target_document\" type=\"multipleDocumentsSuggestion\">\n      <labels>\n        <label mode=\"any\">label.document</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.nt.targetDocumentsIds</field>\n      </fields>\n    </widget>\n\n    <widget name=\"routing_task_duedate\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.widget.task_step.dueDate</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.nt.dueDate</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"format\">#{nxu:dateAndTimeFormatter('medium')}\n        </property>\n        <property name=\"timeZone\">#{timeZone}</property>\n      </properties>\n    </widget>\n\n    <widget name=\"routing_task_directive\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.widget.task_step.directive</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.nt.directive</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"localize\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"routing_task_actors\" type=\"multiplePrefixedUsersSuggestion\">\n      <labels>\n        <label mode=\"any\">label.document.route.content.header.actors\n        </label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.nt.actors</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"localize\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"routing_task_comments\" type=\"list\">\n      <labels>\n        <label mode=\"any\">label.content.header.comments</label>\n      </labels>\n      <fields>\n        <field>data.nt.taskComments</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"localize\">true</property>\n        <property name=\"hideSubLabels\">true</property>\n      </properties>\n      <subWidgets>\n        <widget name=\"comment\" type=\"text\">\n          <fields>\n            <field/>\n          </fields>\n        </widget>\n      </subWidgets>\n    </widget>\n\n    <widget name=\"routing_task_workflow_name\" type=\"listing_workflow_name_task\">\n      <labels>\n        <label mode=\"any\">label.review.type</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.nt.processId</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"localize\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"routing_task_process_btn\" type=\"listing_process_task\">\n      <labels>\n        <label mode=\"any\"/>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data</field>\n        <field>data.nt.targetDocumentsIds</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"tab\">TAB_ROUTE_WORKFLOW</property>\n      </properties>\n    </widget>\n    <!-- Listing widgets -->\n\n    <widget name=\"workflowTabs\" type=\"tabs\">\n      <properties mode=\"view\">\n        <property name=\"actionsDisplay\">links</property>\n        <property name=\"addForm\">true</property>\n        <property name=\"useAjaxForm\">false</property>\n        <property name=\"category\">WORKFLOW_DASHBOARD</property>\n        <property name=\"actions\">#{webActions.getActionsList('WORKFLOW_DASHBOARD')}</property>\n        <property name=\"currentTabAction\">#{webActions.getCurrentTabAction('WORKFLOW_DASHBOARD')}</property>\n        <property name=\"overallDisplay\">horizontal_block</property>\n      </properties>\n    </widget>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--layouts",
              "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard/org.nuxeo.ecm.platform.routing.dashboard.layouts/Contributions/org.nuxeo.ecm.platform.routing.dashboard.layouts--layouts",
              "id": "org.nuxeo.ecm.platform.routing.dashboard.layouts--layouts",
              "registrationOrder": 25,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.25.8",
              "xml": "<extension point=\"layouts\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <layout name=\"routing_task_listing\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n        <property name=\"display\">table</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"isListingSelectionBox\">true</property>\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_ajax_selection_box</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">nt:name</property>\n          </properties>\n          <widget>routing_task_name</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>routing_task_target_document</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">nt:directive</property>\n          </properties>\n          <widget>routing_task_directive</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">nt:dueDate</property>\n          </properties>\n          <widget>routing_task_duedate</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>routing_task_actors</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>routing_task_comments</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"routing_user_open_task_listing\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n        <property name=\"display\">table</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">nt:name</property>\n          </properties>\n          <widget>routing_task_workflow_name</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>routing_task_name</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>routing_task_target_document</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">nt:directive</property>\n          </properties>\n          <widget>routing_task_directive</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">nt:dueDate</property>\n          </properties>\n          <widget>routing_task_duedate</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>routing_task_actors</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n          </properties>\n          <widget>routing_task_process_btn</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"routing_user_open_task_search_layout\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <properties mode=\"any\">\n            <property name=\"nxl_colspan_0\">1</property>\n          </properties>\n          <widget>task_name</widget>\n        </row>\n        <row>\n          <properties mode=\"any\">\n            <property name=\"nxl_colspan_0\">1</property>\n            <property name=\"nxl_colspan_1\">1</property>\n          </properties>\n          <widget>task_dueDate_min</widget>\n          <widget>task_dueDate_max</widget>\n        </row>\n      </rows>\n      <widget name=\"task_name\" type=\"select2Widget\">\n        <labels>\n          <label mode=\"any\">label.workflow.task.name</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>user_open_tasks_cv:task_name</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"operationId\">Context.GetTaskNames</property>\n          <property name=\"minChars\">0</property>\n          <property name=\"idProperty\">nt:name</property>\n          <property name=\"initOperationId\">Context.GetTaskNames</property>\n          <property name=\"labelProperty\">dc:title</property>\n          <property name=\"documentSchemas\">task,dublincore</property>\n        </properties>\n      </widget>\n      <widget name=\"task_dueDate_min\" type=\"datetime\">\n        <labels>\n          <label mode=\"any\">label.widget.task_step.dueDate</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>user_open_tasks_cv:task_dueDate_min</field>\n        </fields>\n      </widget>\n      <widget name=\"task_dueDate_max\" type=\"datetime\">\n        <labels>\n          <label mode=\"any\">label.search.and</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>user_open_tasks_cv:task_dueDate_max</field>\n        </fields>\n      </widget>\n    </layout>\n\n    <!--@since 5.8, layouts for task resolution screen on User home, applies\n      to a Task object -->\n    <layout name=\"routing_task_general_info\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>task_workflow_name</widget>\n        </row>\n        <row>\n          <widget>task_show_workflow_graph</widget>\n        </row>\n        <row>\n          <widget>task_actors</widget>\n        </row>\n        <row>\n          <widget>task_delegated_users</widget>\n        </row>\n        <row>\n          <widget>task_duedate</widget>\n        </row>\n        <row>\n          <widget>task_simple_directive</widget>\n        </row>\n      </rows>\n    </layout>\n\n    <layout name=\"routing_task_actions_layout\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_grid_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <properties mode=\"any\">\n            <property name=\"gridRowStyleClass\">floatR</property>\n          </properties>\n          <widget>go_back_to_tasks_view_widget</widget>\n          <widget>delegate_task_widget</widget>\n          <widget>reassign_task_widget</widget>\n        </row>\n      </rows>\n      <widget name=\"go_back_to_tasks_view_widget\" type=\"documentActionWithForms\">\n        <fields>\n          <field>#{routingTaskActions.getTaskInfo(layoutValue,\n            true)}\n          </field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"actionId\">go_back_to_tasks_view</property>\n          <property name=\"actionStyleClass\">smallButton</property>\n          <property name=\"actionsDisplay\">buttons</property>\n          <property name=\"useAjaxForm\">true</property>\n          <property name=\"ignoreTemplateProperty\">true</property>\n          <property name=\"actionContextDocument\">#{layoutValue.getDocument()}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"reassign_task_widget\" type=\"documentActionWithForms\">\n        <fields>\n          <field>#{routingTaskActions.getTaskInfo(layoutValue,\n            true)}\n          </field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"actionId\">reassignTask</property>\n          <property name=\"actionStyleClass\">smallButton</property>\n          <property name=\"actionsDisplay\">buttons</property>\n          <property name=\"useAjaxForm\">true</property>\n          <property name=\"ignoreTemplateProperty\">true</property>\n          <property name=\"actionContextDocument\">#{layoutValue.getDocument()}\n          </property>\n        </properties>\n        <widgetModes>\n          <mode value=\"any\">#{routingTaskActions.canBeReassign()?'edit':'hidden'}\n          </mode>\n        </widgetModes>\n      </widget>\n      <widget name=\"delegate_task_widget\" type=\"documentActionWithForms\">\n        <fields>\n          <field>#{routingTaskActions.getTaskInfo(layoutValue,\n            true)}\n          </field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"actionId\">delegateTask</property>\n          <property name=\"actionStyleClass\">smallButton</property>\n          <property name=\"actionsDisplay\">buttons</property>\n          <property name=\"useAjaxForm\">true</property>\n          <property name=\"ignoreTemplateProperty\">true</property>\n          <property name=\"actionContextDocument\">#{layoutValue.getDocument()}\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"routing_task_resolution_layout\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_grid_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <properties mode=\"any\">\n            <property name=\"nxl_gridStyleClass_0\">gridStyle7</property>\n            <property name=\"nxl_gridStyleClass_1\">gridStyle5</property>\n          </properties>\n          <widget>container_0</widget>\n          <widget>container_01</widget>\n        </row>\n        <row>\n          <properties mode=\"any\">\n            <property name=\"nxl_gridStyleClass_0\">gridStyle5</property>\n            <property name=\"nxl_gridStyleClass_1\">gridStyle7</property>\n          </properties>\n          <widget>container</widget>\n          <widget>container_1</widget>\n        </row>\n        <row>\n          <properties mode=\"any\">\n            <property name=\"nxl_gridStyleClass_0\">gridStyle12</property>\n          </properties>\n          <widget>container_2</widget>\n        </row>\n      </rows>\n      <widget name=\"container_0\" type=\"container\">\n        <labels>\n          <label mode=\"any\"/>\n        </labels>\n        <translated>false</translated>\n        <fields>\n          <field/>\n        </fields>\n        <controls mode=\"any\">\n          <control name=\"handleLabels\">true</control>\n        </controls>\n        <properties mode=\"any\">\n          <property name=\"hideSubLabels\">true</property>\n          <property name=\"styleClass\">description_block</property>\n        </properties>\n        <subWidgetRefs>\n          <widget>task_workflow_title</widget>\n        </subWidgetRefs>\n      </widget>\n      <widget name=\"container_01\" type=\"container\">\n        <labels>\n          <label mode=\"any\"/>\n        </labels>\n        <translated>false</translated>\n        <fields>\n          <field/>\n        </fields>\n        <controls mode=\"any\">\n          <control name=\"handleLabels\">true</control>\n        </controls>\n        <properties mode=\"any\">\n          <property name=\"hideSubLabels\">true</property>\n          <property name=\"styleClass\">horizontal_block</property>\n        </properties>\n        <subWidgets>\n          <widget name=\"task_actions\" type=\"layout\">\n            <properties mode=\"any\">\n              <property name=\"name\">routing_task_actions_layout\n              </property>\n            </properties>\n          </widget>\n        </subWidgets>\n      </widget>\n      <widget name=\"container\" type=\"container\">\n        <labels>\n          <label mode=\"any\"/>\n        </labels>\n        <translated>false</translated>\n        <fields>\n          <field/>\n        </fields>\n        <controls mode=\"any\">\n          <control name=\"handleLabels\">true</control>\n        </controls>\n        <properties widgetMode=\"any\">\n          <property name=\"styleClass\">fullWidth\n          </property>\n        </properties>\n        <subWidgets>\n          <widget name=\"sub0\" type=\"layout\">\n            <labels>\n              <label mode=\"any\">routing_task_general_info</label>\n            </labels>\n            <translated>false</translated>\n            <fields/>\n            <properties widgetMode=\"view\">\n              <property name=\"name\">routing_task_general_info\n              </property>\n            </properties>\n            <controls mode=\"any\">\n              <control name=\"handleLabels\">true</control>\n              <control name=\"requireSurroundingForm\">true</control>\n            </controls>\n          </widget>\n        </subWidgets>\n      </widget>\n      <widget name=\"container_1\" type=\"container\">\n        <labels>\n          <label mode=\"any\"/>\n        </labels>\n        <translated>false</translated>\n        <fields>\n          <field/>\n        </fields>\n        <controls mode=\"any\">\n          <control name=\"handleLabels\">true</control>\n          <control name=\"requireSurroundingForm\">true</control>\n        </controls>\n        <properties widgetMode=\"any\">\n          <property name=\"styleClass\">grayBox</property>\n          <property name=\"hideSubLabels\">true</property>\n        </properties>\n        <subWidgetRefs>\n          <widget>task_layout_with_actions</widget>\n        </subWidgetRefs>\n      </widget>\n      <widget name=\"container_2\" type=\"container\">\n        <labels>\n          <label mode=\"any\"/>\n        </labels>\n        <translated>false</translated>\n        <fields>\n          <field/>\n        </fields>\n        <controls mode=\"any\">\n          <control name=\"handleLabels\">true</control>\n        </controls>\n        <subWidgets>\n          <widget name=\"sub0\" type=\"contentViewWithForms\">\n            <labels>\n              <label mode=\"any\"/>\n            </labels>\n            <translated>false</translated>\n            <properties widgetMode=\"view\">\n              <property name=\"showRefreshCommand\">false</property>\n              <property name=\"foldable\">false</property>\n              <property name=\"showSyndicationLinks\">false</property>\n              <property name=\"showPDFExport\">false</property>\n              <property name=\"showCSVExport\">false</property>\n              <property name=\"showPageSizeSelector\">false</property>\n              <property name=\"showFilterForm\">false</property>\n              <property name=\"contentViewName\">task_target_documents</property>\n            </properties>\n            <controls mode=\"any\">\n              <control name=\"handleLabels\">true</control>\n            </controls>\n          </widget>\n        </subWidgets>\n      </widget>\n    </layout>\n\n    <layout name=\"task_related_documents_listing\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_listing_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <widget>listing_icon_type</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:title</property>\n          </properties>\n          <widget>listing_title_link</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_lock_icon</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:modified</property>\n            <property name=\"defaultSortAscending\">false</property>\n          </properties>\n          <widget>listing_modification_date</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:lastContributor</property>\n          </properties>\n          <widget>listing_last_contributor</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"isSortable\">false</property>\n          </properties>\n          <widget>listing_version</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">\n              ecm:currentLifeCycleState\n            </property>\n          </properties>\n          <widget>listing_lifecycle</widget>\n        </column>\n      </columns>\n    </layout>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard/org.nuxeo.ecm.platform.routing.dashboard.layouts",
          "name": "org.nuxeo.ecm.platform.routing.dashboard.layouts",
          "requirements": [
            "org.nuxeo.ecm.platform.routing.dashboard.actions",
            "org.nuxeo.ecm.platform.routing.actions"
          ],
          "resolutionOrder": 744,
          "services": [],
          "startOrder": 435,
          "version": "2021.25.8",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.platform.routing.dashboard.layouts\">\n  <require>org.nuxeo.ecm.platform.routing.dashboard.actions</require>\n  <require>org.nuxeo.ecm.platform.routing.actions</require>\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\"\n    point=\"schema\">\n    <schema name=\"user_open_tasks_cv\" prefix=\"user_open_tasks_cv\"\n      src=\"schemas/user_open_tasks_cv.xsd\" />\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\"\n    point=\"doctype\">\n    <doctype name=\"user_open_tasks_cv\" extends=\"Document\">\n      <facet name=\"ContentViewDisplay\" />\n      <schema name=\"user_open_tasks_cv\" />\n    </doctype>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgettypes\">\n\n    <widgetType name=\"listing_process_task\">\n      <configuration>\n        <title>Listing process task link</title>\n        <documentation>\n          Two fields are required:\n          <ul>\n            <li>A field to map the task</li>\n            <li>A field to map the targetDocumentId on the task</li>\n          </ul>\n        </documentation>\n        <sinceVersion>5.7.3</sinceVersion>\n        <categories>\n          <category>routing</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_process_task_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_workflow_name_task\">\n      <configuration>\n        <title>Listing the name of the workflow that created the task\n        </title>\n        <documentation>\n          A field is required:\n          <ul>\n            <li>A field to map the processId on the task</li>\n          </ul>\n        </documentation>\n        <sinceVersion>5.7.3</sinceVersion>\n        <categories>\n          <category>routing</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_workflow_name_task_widget_template.xhtml\n      </property>\n    </widgetType>\n  </extension>\n\n\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgets\">\n\n    <!-- Listing widgets -->\n    <widget name=\"routing_task_name\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.workflow.task.name</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.nt.name</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"localize\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"routing_task_target_document\" type=\"multipleDocumentsSuggestion\">\n      <labels>\n        <label mode=\"any\">label.document</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.nt.targetDocumentsIds</field>\n      </fields>\n    </widget>\n\n    <widget name=\"routing_task_duedate\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.widget.task_step.dueDate</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.nt.dueDate</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"format\">#{nxu:dateAndTimeFormatter('medium')}\n        </property>\n        <property name=\"timeZone\">#{timeZone}</property>\n      </properties>\n    </widget>\n\n    <widget name=\"routing_task_directive\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.widget.task_step.directive</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.nt.directive</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"localize\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"routing_task_actors\" type=\"multiplePrefixedUsersSuggestion\">\n      <labels>\n        <label mode=\"any\">label.document.route.content.header.actors\n        </label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.nt.actors</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"localize\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"routing_task_comments\" type=\"list\">\n      <labels>\n        <label mode=\"any\">label.content.header.comments</label>\n      </labels>\n      <fields>\n        <field>data.nt.taskComments</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"localize\">true</property>\n        <property name=\"hideSubLabels\">true</property>\n      </properties>\n      <subWidgets>\n        <widget name=\"comment\" type=\"text\">\n          <fields>\n            <field></field>\n          </fields>\n        </widget>\n      </subWidgets>\n    </widget>\n\n    <widget name=\"routing_task_workflow_name\" type=\"listing_workflow_name_task\">\n      <labels>\n        <label mode=\"any\">label.review.type</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.nt.processId</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"localize\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"routing_task_process_btn\" type=\"listing_process_task\">\n      <labels>\n        <label mode=\"any\"></label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data</field>\n        <field>data.nt.targetDocumentsIds</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"tab\">TAB_ROUTE_WORKFLOW</property>\n      </properties>\n    </widget>\n    <!-- Listing widgets -->\n\n    <widget name=\"workflowTabs\" type=\"tabs\">\n      <properties mode=\"view\">\n        <property name=\"actionsDisplay\">links</property>\n        <property name=\"addForm\">true</property>\n        <property name=\"useAjaxForm\">false</property>\n        <property name=\"category\">WORKFLOW_DASHBOARD</property>\n        <property name=\"actions\">#{webActions.getActionsList('WORKFLOW_DASHBOARD')}</property>\n        <property name=\"currentTabAction\">#{webActions.getCurrentTabAction('WORKFLOW_DASHBOARD')}</property>\n        <property name=\"overallDisplay\">horizontal_block</property>\n      </properties>\n    </widget>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"layouts\">\n\n    <layout name=\"routing_task_listing\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n        <property name=\"display\">table</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"isListingSelectionBox\">true</property>\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_ajax_selection_box</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">nt:name</property>\n          </properties>\n          <widget>routing_task_name</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>routing_task_target_document</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">nt:directive</property>\n          </properties>\n          <widget>routing_task_directive</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">nt:dueDate</property>\n          </properties>\n          <widget>routing_task_duedate</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>routing_task_actors</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>routing_task_comments</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"routing_user_open_task_listing\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n        <property name=\"display\">table</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">nt:name</property>\n          </properties>\n          <widget>routing_task_workflow_name</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>routing_task_name</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>routing_task_target_document</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">nt:directive</property>\n          </properties>\n          <widget>routing_task_directive</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">nt:dueDate</property>\n          </properties>\n          <widget>routing_task_duedate</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>routing_task_actors</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n          </properties>\n          <widget>routing_task_process_btn</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"routing_user_open_task_search_layout\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <properties mode=\"any\">\n            <property name=\"nxl_colspan_0\">1</property>\n          </properties>\n          <widget>task_name</widget>\n        </row>\n        <row>\n          <properties mode=\"any\">\n            <property name=\"nxl_colspan_0\">1</property>\n            <property name=\"nxl_colspan_1\">1</property>\n          </properties>\n          <widget>task_dueDate_min</widget>\n          <widget>task_dueDate_max</widget>\n        </row>\n      </rows>\n      <widget name=\"task_name\" type=\"select2Widget\">\n        <labels>\n          <label mode=\"any\">label.workflow.task.name</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>user_open_tasks_cv:task_name</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"operationId\">Context.GetTaskNames</property>\n          <property name=\"minChars\">0</property>\n          <property name=\"idProperty\">nt:name</property>\n          <property name=\"initOperationId\">Context.GetTaskNames</property>\n          <property name=\"labelProperty\">dc:title</property>\n          <property name=\"documentSchemas\">task,dublincore</property>\n        </properties>\n      </widget>\n      <widget name=\"task_dueDate_min\" type=\"datetime\">\n        <labels>\n          <label mode=\"any\">label.widget.task_step.dueDate</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>user_open_tasks_cv:task_dueDate_min</field>\n        </fields>\n      </widget>\n      <widget name=\"task_dueDate_max\" type=\"datetime\">\n        <labels>\n          <label mode=\"any\">label.search.and</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>user_open_tasks_cv:task_dueDate_max</field>\n        </fields>\n      </widget>\n    </layout>\n\n    <!--@since 5.8, layouts for task resolution screen on User home, applies\n      to a Task object -->\n    <layout name=\"routing_task_general_info\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>task_workflow_name</widget>\n        </row>\n        <row>\n          <widget>task_show_workflow_graph</widget>\n        </row>\n        <row>\n          <widget>task_actors</widget>\n        </row>\n        <row>\n          <widget>task_delegated_users</widget>\n        </row>\n        <row>\n          <widget>task_duedate</widget>\n        </row>\n        <row>\n          <widget>task_simple_directive</widget>\n        </row>\n      </rows>\n    </layout>\n\n    <layout name=\"routing_task_actions_layout\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_grid_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <properties mode=\"any\">\n            <property name=\"gridRowStyleClass\">floatR</property>\n          </properties>\n          <widget>go_back_to_tasks_view_widget</widget>\n          <widget>delegate_task_widget</widget>\n          <widget>reassign_task_widget</widget>\n        </row>\n      </rows>\n      <widget name=\"go_back_to_tasks_view_widget\" type=\"documentActionWithForms\">\n        <fields>\n          <field>#{routingTaskActions.getTaskInfo(layoutValue,\n            true)}\n          </field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"actionId\">go_back_to_tasks_view</property>\n          <property name=\"actionStyleClass\">smallButton</property>\n          <property name=\"actionsDisplay\">buttons</property>\n          <property name=\"useAjaxForm\">true</property>\n          <property name=\"ignoreTemplateProperty\">true</property>\n          <property name=\"actionContextDocument\">#{layoutValue.getDocument()}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"reassign_task_widget\" type=\"documentActionWithForms\">\n        <fields>\n          <field>#{routingTaskActions.getTaskInfo(layoutValue,\n            true)}\n          </field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"actionId\">reassignTask</property>\n          <property name=\"actionStyleClass\">smallButton</property>\n          <property name=\"actionsDisplay\">buttons</property>\n          <property name=\"useAjaxForm\">true</property>\n          <property name=\"ignoreTemplateProperty\">true</property>\n          <property name=\"actionContextDocument\">#{layoutValue.getDocument()}\n          </property>\n        </properties>\n        <widgetModes>\n          <mode value=\"any\">#{routingTaskActions.canBeReassign()?'edit':'hidden'}\n          </mode>\n        </widgetModes>\n      </widget>\n      <widget name=\"delegate_task_widget\" type=\"documentActionWithForms\">\n        <fields>\n          <field>#{routingTaskActions.getTaskInfo(layoutValue,\n            true)}\n          </field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"actionId\">delegateTask</property>\n          <property name=\"actionStyleClass\">smallButton</property>\n          <property name=\"actionsDisplay\">buttons</property>\n          <property name=\"useAjaxForm\">true</property>\n          <property name=\"ignoreTemplateProperty\">true</property>\n          <property name=\"actionContextDocument\">#{layoutValue.getDocument()}\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"routing_task_resolution_layout\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_grid_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <properties mode=\"any\">\n            <property name=\"nxl_gridStyleClass_0\">gridStyle7</property>\n            <property name=\"nxl_gridStyleClass_1\">gridStyle5</property>\n          </properties>\n          <widget>container_0</widget>\n          <widget>container_01</widget>\n        </row>\n        <row>\n          <properties mode=\"any\">\n            <property name=\"nxl_gridStyleClass_0\">gridStyle5</property>\n            <property name=\"nxl_gridStyleClass_1\">gridStyle7</property>\n          </properties>\n          <widget>container</widget>\n          <widget>container_1</widget>\n        </row>\n        <row>\n          <properties mode=\"any\">\n            <property name=\"nxl_gridStyleClass_0\">gridStyle12</property>\n          </properties>\n          <widget>container_2</widget>\n        </row>\n      </rows>\n      <widget name=\"container_0\" type=\"container\">\n        <labels>\n          <label mode=\"any\"></label>\n        </labels>\n        <translated>false</translated>\n        <fields>\n          <field></field>\n        </fields>\n        <controls mode=\"any\">\n          <control name=\"handleLabels\">true</control>\n        </controls>\n        <properties mode=\"any\">\n          <property name=\"hideSubLabels\">true</property>\n          <property name=\"styleClass\">description_block</property>\n        </properties>\n        <subWidgetRefs>\n          <widget>task_workflow_title</widget>\n        </subWidgetRefs>\n      </widget>\n      <widget name=\"container_01\" type=\"container\">\n        <labels>\n          <label mode=\"any\"></label>\n        </labels>\n        <translated>false</translated>\n        <fields>\n          <field></field>\n        </fields>\n        <controls mode=\"any\">\n          <control name=\"handleLabels\">true</control>\n        </controls>\n        <properties mode=\"any\">\n          <property name=\"hideSubLabels\">true</property>\n          <property name=\"styleClass\">horizontal_block</property>\n        </properties>\n        <subWidgets>\n          <widget name=\"task_actions\" type=\"layout\">\n            <properties mode=\"any\">\n              <property name=\"name\">routing_task_actions_layout\n              </property>\n            </properties>\n          </widget>\n        </subWidgets>\n      </widget>\n      <widget name=\"container\" type=\"container\">\n        <labels>\n          <label mode=\"any\"></label>\n        </labels>\n        <translated>false</translated>\n        <fields>\n          <field></field>\n        </fields>\n        <controls mode=\"any\">\n          <control name=\"handleLabels\">true</control>\n        </controls>\n        <properties widgetMode=\"any\">\n          <property name=\"styleClass\">fullWidth\n          </property>\n        </properties>\n        <subWidgets>\n          <widget name=\"sub0\" type=\"layout\">\n            <labels>\n              <label mode=\"any\">routing_task_general_info</label>\n            </labels>\n            <translated>false</translated>\n            <fields />\n            <properties widgetMode=\"view\">\n              <property name=\"name\">routing_task_general_info\n              </property>\n            </properties>\n            <controls mode=\"any\">\n              <control name=\"handleLabels\">true</control>\n              <control name=\"requireSurroundingForm\">true</control>\n            </controls>\n          </widget>\n        </subWidgets>\n      </widget>\n      <widget name=\"container_1\" type=\"container\">\n        <labels>\n          <label mode=\"any\"></label>\n        </labels>\n        <translated>false</translated>\n        <fields>\n          <field></field>\n        </fields>\n        <controls mode=\"any\">\n          <control name=\"handleLabels\">true</control>\n          <control name=\"requireSurroundingForm\">true</control>\n        </controls>\n        <properties widgetMode=\"any\">\n          <property name=\"styleClass\">grayBox</property>\n          <property name=\"hideSubLabels\">true</property>\n        </properties>\n        <subWidgetRefs>\n          <widget>task_layout_with_actions</widget>\n        </subWidgetRefs>\n      </widget>\n      <widget name=\"container_2\" type=\"container\">\n        <labels>\n          <label mode=\"any\"></label>\n        </labels>\n        <translated>false</translated>\n        <fields>\n          <field></field>\n        </fields>\n        <controls mode=\"any\">\n          <control name=\"handleLabels\">true</control>\n        </controls>\n        <subWidgets>\n          <widget name=\"sub0\" type=\"contentViewWithForms\">\n            <labels>\n              <label mode=\"any\"></label>\n            </labels>\n            <translated>false</translated>\n            <properties widgetMode=\"view\">\n              <property name=\"showRefreshCommand\">false</property>\n              <property name=\"foldable\">false</property>\n              <property name=\"showSyndicationLinks\">false</property>\n              <property name=\"showPDFExport\">false</property>\n              <property name=\"showCSVExport\">false</property>\n              <property name=\"showPageSizeSelector\">false</property>\n              <property name=\"showFilterForm\">false</property>\n              <property name=\"contentViewName\">task_target_documents</property>\n            </properties>\n            <controls mode=\"any\">\n              <control name=\"handleLabels\">true</control>\n            </controls>\n          </widget>\n        </subWidgets>\n      </widget>\n    </layout>\n\n    <layout name=\"task_related_documents_listing\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_listing_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <widget>listing_icon_type</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:title</property>\n          </properties>\n          <widget>listing_title_link</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_lock_icon</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:modified</property>\n            <property name=\"defaultSortAscending\">false</property>\n          </properties>\n          <widget>listing_modification_date</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:lastContributor</property>\n          </properties>\n          <widget>listing_last_contributor</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"isSortable\">false</property>\n          </properties>\n          <widget>listing_version</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">\n              ecm:currentLifeCycleState\n            </property>\n          </properties>\n          <widget>listing_lifecycle</widget>\n        </column>\n      </columns>\n    </layout>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/document-routing-dashboard-layouts-contrib.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-routing-dashboard-2021.25.8.jar",
      "groupId": "org.nuxeo.ecm.routing",
      "hierarchyPath": "/grp:org.nuxeo.ecm.routing/grp:org.nuxeo.ecm.platform.routing/org.nuxeo.ecm.platform.routing.dashboard",
      "id": "org.nuxeo.ecm.platform.routing.dashboard",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: Apache Maven\r\nBuilt-By: root\r\nBuild-Jdk: 11.0.16.1\r\nBundle-ManifestVersion: 2\r\nBundle-Version: 1.0.0\r\nBundle-Name: Nuxeo ECM Routing Dashboard\r\nBundle-SymbolicName: org.nuxeo.ecm.platform.routing.dashboard;singleto\r\n n=true\r\nBundle-Vendor: Nuxeo\r\nNuxeo-RequiredBy: org.nuxeo.ecm.war\r\nNuxeo-Component: OSGI-INF/document-routing-dashboard-actions-contrib.x\r\n ml,OSGI-INF/document-routing-dashboard-contentviews-contrib.xml,OSGI-\r\n INF/document-routing-dashboard-layouts-contrib.xml,OSGI-INF/document-\r\n routing-dashboard-urlservice-contrib.xml\r\n\r\n",
      "maxResolutionOrder": 744,
      "minResolutionOrder": 728,
      "packages": [
        "nuxeo-jsf-ui"
      ],
      "requirements": [],
      "version": "2021.25.8"
    }
  ],
  "creationDate": 1664794400673,
  "key": "Nuxeo Platform-2021.25",
  "name": "Nuxeo Platform",
  "operations": [],
  "packages": [
    {
      "@type": "NXPackage",
      "bundles": [
        "org.nuxeo.admin.center.analytics.dashboards",
        "org.nuxeo.admin.center.jsf",
        "org.nuxeo.admin.center.monitoring",
        "org.nuxeo.admin.center.oauth.opensocial",
        "org.nuxeo.ecm.automation.jsf",
        "org.nuxeo.elasticsearch.web",
        "org.nuxeo.ecm.localconf.web",
        "org.nuxeo.ecm.actions.jsf",
        "org.nuxeo.ecm.platform.audio.jsf",
        "org.nuxeo.ecm.platform.audit.web",
        "org.nuxeo.ecm.platform.comment.web",
        "org.nuxeo.ecm.platform.contentview.jsf",
        "org.nuxeo.ecm.directory.web",
        "org.nuxeo.ecm.platform.forms.layout.client",
        "org.nuxeo.ecm.platform.forms.layout.io",
        "org.nuxeo.ecm.platform.forms.layout.io.plugins",
        "org.nuxeo.ecm.platform.picture.jsf",
        "org.nuxeo.ecm.platform.io.web",
        "org.nuxeo.ecm.platform.login.token.jsf",
        "org.nuxeo.ecm.platform.notification.web",
        "org.nuxeo.ecm.platform.publisher.web",
        "org.nuxeo.ecm.relations.web",
        "org.nuxeo.ecm.platform.rendition.web",
        "org.nuxeo.ecm.platform.suggestbox.jsf",
        "org.nuxeo.ecm.platform.tag.web",
        "org.nuxeo.ecm.platform.task.web",
        "org.nuxeo.ecm.platform.ui.select2",
        "org.nuxeo.ecm.platform.ui",
        "org.nuxeo.ecm.platform.userworkspace.web",
        "org.nuxeo.ecm.platform.video.jsf",
        "org.nuxeo.ecm.webapp.ui",
        "org.nuxeo.ecm.webapp.base",
        "org.nuxeo.ecm.webapp.core",
        "org.nuxeo.ecm.platform.preview.jsf",
        "org.nuxeo.ecm.platform.routing.dashboard",
        "org.nuxeo.ecm.platform.routing.default.jsf",
        "org.nuxeo.ecm.platform.routing.dm",
        "org.nuxeo.ecm.platform.routing.web",
        "org.nuxeo.search.ui",
        "org.nuxeo.theme.migration",
        "org.nuxeo.ecm.user.center",
        "org.nuxeo.ecm.user.center.dashboard",
        "org.nuxeo.ecm.user.center.dashboard.jsf",
        "org.nuxeo.ecm.user.center.notification",
        "org.nuxeo.ecm.user.center.oauth",
        "org.nuxeo.ecm.user.center.profile.jsf",
        "org.nuxeo.web.resources.jsf"
      ],
      "conflicts": [],
      "dependencies": [],
      "hierarchyPath": "/nuxeo-jsf-ui-2021.25.8",
      "id": "nuxeo-jsf-ui-2021.25.8",
      "name": "nuxeo-jsf-ui",
      "optionalDependencies": [],
      "packageType": "addon",
      "title": "Nuxeo JSF UI",
      "version": "2021.25.8"
    }
  ],
  "pluginSnapshots": {},
  "releaseDate": 1661731200000,
  "version": "2021.25"
}